package cn.e3mall.freemarker;


import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.TemplateException;
import org.junit.Test;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import java.util.HashMap;
import java.util.Map;

public class test {

    @Test
    public void testFreeMarker() throws IOException, TemplateException {
        //1.创建一个模板文件（*.ftl文件）
        //2.创建一个Configuration对象
        Configuration configuration = new Configuration(Configuration.getVersion());
        //3.设置模板路径
        configuration.setDirectoryForTemplateLoading(
                new File("C:/Users/intelink012/git/e3mall/e3-item-web/src/main/webapp/WEB-INF/ftl"));
        //4.设置模板的字符集（UTF-8）
        configuration.setDefaultEncoding("utf-8");
        //5.使用Configuration对象加载一个模板文件，需要指定模板文件的文件名
        Template template = configuration.getTemplate("hello.ftl");
        //6.创建一个数据集。可以是pojo，也可以是map
        Map map = new HashMap<>();
        map.put("hello", "helloword");
        //7.创建一个Writer对象，指定输出文件的路径及文件名
        Writer writer = new FileWriter(new File("C:/Users/intelink012/git/e3mall/e3-item-web/src/main/webapp/WEB-INF/ftl/hello.html"));
        //8.使用模板对象的process方法输出文件
        template.process(map, writer);
        //9.关闭流
        writer.close();
    }
}
